const db = require('../../db/sql')

function selectDepartment(res){
    const sql = 'SELECT * FROM department';
    db.query(sql, (err, results) => {
        if (err) {
            console.log(err);
            res.status(500).send('Error retrieving departments');
        } else {
            results.forEach((item,index)=>{//将id游int变为string
                item.id+=''
            })
            // 新建一个空的结果数组
            const result = [];

// 遍历对象数组，将每个对象添加到其父级对象的children属性中
            results.forEach(obj => {
                if (obj.parent_id =='null'||!obj.parent_id) {
                    // 如果该对象没有父级，则将其作为根节点添加到结果数组中
                    result.push(obj);
                } else {
                    // 如果该对象有父级，则在对象数组中查找该父级对象，并将该对象添加到父级对象的children属性中
                    const parent = results.find(item => item.id == obj.parent_id);

                    // console.log(obj,parent,'服务')
                    if (!parent.hasOwnProperty('children')) { // 如果父级节点没有children属性，则添加一个空数组
                        parent.children = [];
                    }// 将该对象添加到父级节点的children数组中
                    parent.children.push(obj);
                }
            });
            res.status(200).json(result);
        }
    });
}
module.exports =selectDepartment
